package presentation;

import java.util.ArrayList;

import com.opensymphony.xwork2.ActionSupport;

import metier.AnneeMetier;
import metier.CommuneMetier;
import metier.IndicateurMetier;
import metier.PoiMetier;
import metier.ProvinceMetier;
import metier.RegionMetier;
import metier.ThemeMetier;
import modele.Annee;
import modele.Commune;
import modele.Indicateur;
import modele.Poi;
import modele.Province;
import modele.Region;
import modele.Theme;

public class ConsultationAction extends ActionSupport {
	private ArrayList<Theme> ListeThemes;
	private ArrayList<Indicateur> ListeIndicateurs;
	private ArrayList<Region> ListeRegions;
	private ArrayList<Province> ListeProvinces;
	private ArrayList<Commune> ListeCommunes;
	private ArrayList<Poi> ListePoi;
	
	
	private long idTheme;
	private long idIndicateur;
	private long idRegion;
	private long idProvince;
	private long idCommune;
	private long idPoi;


	public String alimentationPage() {
		
		ListeThemes = (ArrayList<Theme>) ThemeMetier.getListeThemes(0);
		ListeIndicateurs = (ArrayList<Indicateur>) IndicateurMetier.getIndicateursTheme(1);
		ListeRegions = (ArrayList<Region>) RegionMetier.getListeRegions(0);
		ListeProvinces = (ArrayList<Province>) ProvinceMetier.getListeProvinces(0);
		ListeCommunes = (ArrayList<Commune>) CommuneMetier.getListeCommunes(0);
		ListePoi = (ArrayList<Poi>) PoiMetier.getListePoi(0);

		return SUCCESS;
	}

	public String getIndicateursTheme(){

		ListeIndicateurs = (ArrayList<Indicateur>) IndicateurMetier.getIndicateursTheme(idTheme);
		ListeThemes = (ArrayList<Theme>) ThemeMetier.getListeThemes(0);
		ListeRegions = (ArrayList<Region>) RegionMetier.getListeRegions(0);
		
		if( idRegion != 0)
	    	ListeProvinces = (ArrayList<Province>) ProvinceMetier.getProvincesRegion(idRegion);
		else 
			ListeProvinces = (ArrayList<Province>) ProvinceMetier.getListeProvinces(0);
		
		if( idProvince != 0)
			ListeCommunes = (ArrayList<Commune>) CommuneMetier.getCommunesProvince(idProvince);
		else 
			ListeCommunes = (ArrayList<Commune>) CommuneMetier.getListeCommunes(0);
		
		if( idCommune != 0)
			ListePoi = (ArrayList<Poi>) PoiMetier.getPOICommune(idCommune);
		else 
			ListePoi = (ArrayList<Poi>) PoiMetier.getListePoi(0);

		return SUCCESS;		
	}
	
	
	public String getProvincesRegion(){
		
		ListeProvinces = (ArrayList<Province>) ProvinceMetier.getProvincesRegion(idRegion);
		ListeCommunes = (ArrayList<Commune>) CommuneMetier.getCommunesRegion(idRegion);
		ListePoi = (ArrayList<Poi>) PoiMetier.getPOIRegion(idRegion);

		ListeIndicateurs = (ArrayList<Indicateur>) IndicateurMetier.getIndicateursTheme(idTheme);
		ListeThemes = (ArrayList<Theme>) ThemeMetier.getListeThemes(0);
		ListeRegions = (ArrayList<Region>) RegionMetier.getListeRegions(0);
		
		
		return SUCCESS;		
	}
	
	
	public String getCommunesProvince(){
		
		ListeCommunes = (ArrayList<Commune>) CommuneMetier.getCommunesProvince(idProvince);
		ListePoi = (ArrayList<Poi>) PoiMetier.getPOIProvince(idProvince);

		ListeIndicateurs = (ArrayList<Indicateur>) IndicateurMetier.getIndicateursTheme(idTheme);
		ListeThemes = (ArrayList<Theme>) ThemeMetier.getListeThemes(0);
		ListeRegions = (ArrayList<Region>) RegionMetier.getListeRegions(0);
		
		if( idRegion != 0)
	    	ListeProvinces = (ArrayList<Province>) ProvinceMetier.getProvincesRegion(idRegion);
		else 
			ListeProvinces = (ArrayList<Province>) ProvinceMetier.getListeProvinces(0);


		return SUCCESS;		
	}
	
	
	public String getPOICommune(){
		
		ListePoi = (ArrayList<Poi>) PoiMetier.getPOICommune(idCommune);
		ListeIndicateurs = (ArrayList<Indicateur>) IndicateurMetier.getIndicateursTheme(idTheme);
		ListeThemes = (ArrayList<Theme>) ThemeMetier.getListeThemes(0);
		ListeRegions = (ArrayList<Region>) RegionMetier.getListeRegions(0);

		if( idRegion != 0)
	    	ListeProvinces = (ArrayList<Province>) ProvinceMetier.getProvincesRegion(idRegion);
		else 
		    ListeProvinces = (ArrayList<Province>) ProvinceMetier.getListeProvinces(0);		
		
		if( idProvince != 0)
			ListeCommunes = (ArrayList<Commune>) CommuneMetier.getCommunesProvince(idProvince);
		else 
			ListeCommunes = (ArrayList<Commune>) CommuneMetier.getListeCommunes(0);
		

		
		return SUCCESS;		
	}
	
	
	public ArrayList<Theme> getListeThemes() {
		return ListeThemes;
	}


	public void setListeThemes(ArrayList<Theme> listeThemes) {
		ListeThemes = listeThemes;
	}


	public ArrayList<Indicateur> getListeIndicateurs() {
		return ListeIndicateurs;
	}


	public void setListeIndicateurs(ArrayList<Indicateur> listeIndicateurs) {
		ListeIndicateurs = listeIndicateurs;
	}


	public ArrayList<Region> getListeRegions() {
		return ListeRegions;
	}


	public void setListeRegions(ArrayList<Region> listeRegions) {
		ListeRegions = listeRegions;
	}


	public ArrayList<Province> getListeProvinces() {
		return ListeProvinces;
	}


	public void setListeProvinces(ArrayList<Province> listeProvinces) {
		ListeProvinces = listeProvinces;
	}


	public ArrayList<Commune> getListeCommunes() {
		return ListeCommunes;
	}


	public void setListeCommunes(ArrayList<Commune> listeCommunes) {
		ListeCommunes = listeCommunes;
	}


	public ArrayList<Poi> getListePoi() {
		return ListePoi;
	}


	public void setListePoi(ArrayList<Poi> listePoi) {
		ListePoi = listePoi;
	}

	public long getIdTheme() {
		return idTheme;
	}

	public void setIdTheme(long idTheme) {
		this.idTheme = idTheme;
	}

	public long getIdRegion() {
		return idRegion;
	}

	public void setIdRegion(long idRegion) {
		this.idRegion = idRegion;
	}

	public long getIdProvince() {
		return idProvince;
	}

	public void setIdProvince(long idProvince) {
		this.idProvince = idProvince;
	}

	public long getIdCommune() {
		return idCommune;
	}

	public void setIdCommune(long idCommune) {
		this.idCommune = idCommune;
	}

	public long getIdIndicateur() {
		return idIndicateur;
	}

	public void setIdIndicateur(long idIndicateur) {
		this.idIndicateur = idIndicateur;
	}

	public long getIdPoi() {
		return idPoi;
	}

	public void setIdPoi(long idPoi) {
		this.idPoi = idPoi;
	}

}
